﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StyleMVVM.DependencyInjection;
using StyleMVVM.DependencyInjection.Impl;

namespace StyleMVVM.Data.Activation
{
	public sealed class ActivationTypeInfo : IActivationTypeInfo
	{
		public ExportFunction ExportFunction { get; set; }

		public Type ActivationType { get; set; }

		public bool DiscoverAttributes { get; set; }

		public bool Suspendable { get; set; }

		public string ActivationMethod { get; set; }

		public object ImportConstructorInfo { get; set; }

		public IEnumerable<InitializePropertyInfo> InitializeProperties { get; set; }

		public IEnumerable<ImportPropertyInfo> ImportProperties { get; set; }

		public IEnumerable<ImportMethodInfo> ImportMethods { get; set; }

		public IEnumerable<EnrichWithDelegate> EnrichWithDelegates { get; set; }
	}
}